"""Interface for all Dingo ADC models.

Copyright (C) Sarah Mount, 2008.

This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
"""
from __future__ import absolute_import
del absolute_import

from ..modelManager import Model

class ADCModel(Model):
    """Superclass for all ADC models.

    TODO: Add registerDataStream() or some such.
    """
    def __init__(self):
        self.modeltype = 'ADC'
        return
    def getPointData(self, vector=1, transducer=None):
        """Return timestamped data vector read from a given transducer.
        
        Data is returned in a list, to cater for vector data such as
        that sensed by an I{n}-axis accelerometer.

	@precondition: vector > 0
	@type vector: int
        @param vector: number of data points to return
	@type transducer: str
	@param transducer: transducer to use, if this model gives a choice
        @rtype: tuple
        """
        return (None, [])
    
